package br.ufpe.cin.ip.biblioteca.repositorios;

import br.ufpe.cin.ip.biblioteca.entidades.Usuario;
import br.ufpe.cin.ip.biblioteca.excecoes.RepositorioException;
import br.ufpe.cin.ip.biblioteca.excecoes.UsuarioJaCadastradoException;
import br.ufpe.cin.ip.biblioteca.excecoes.UsuarioNaoEncontradoException;
import br.ufpe.cin.ip.biblioteca.iterator.IterableUsuario;

public interface RepositorioUsuario extends IterableUsuario {
	public void adicionar(Usuario usuario) throws RepositorioException, UsuarioJaCadastradoException;
	public void remover(Usuario usuario) throws RepositorioException, UsuarioNaoEncontradoException;
	public void atualizar(Usuario usuario) throws RepositorioException, UsuarioNaoEncontradoException;
	public Usuario buscar(Usuario usuario) throws RepositorioException, UsuarioNaoEncontradoException;
	public boolean existe(Usuario usuario) throws RepositorioException;
}
